(print (+ 5 3))
(print (- 5 3))
(print (- 3 5))
(print (+ 5 2.3 2.7))
(print (+ 5 (* 2 6.55)))
(print (* 5 (+ 3 4 6) 22 (* 2.4 5 0.001) (- 5 (+ 2 (- 2 4)))))
(print '(+ 5 3))
(print 'a)
(print '(this is "cool"))
(print (first '(a b c)))
(print (rest '(a b c)))
(print (cons 'a '(b c d)))
(print (append '(a b c) '(d e f) (list 1 2 3 4)))
(print (setq fred '(a b c)))
(print (rest fred))
(print (put 'fred 'birthday 'june-12-1973))
(print (get 'fred 'birthday))
(print (logic 0.5))
(print (logic 1.0))
(print (not (logic 0.0)))
(print (not (logic 0.35)))
(print (and *true* (not *true*)))
(print (or *true* (not *true*)))
(print (setq *true* (logic .95)))
(print (and *true* (not *true*)))
(print (or *true* (not *true*)))
(print (setq *true* (logic 1.0)))
(print (> 5 2))
(print (> 2 5))
(print (> 5 (* 3 (+ 2 1))))
(print (> (* 3 (+ 2 1)) (+ 1 2 3)))
(print (== "wow" "fred"))
(print (!= "wow" "fred"))
(print (>= 5 5))
(print (<= "andy" "bobbie"))
(print (if (> 5 2) 'true 'false))
(print (if (< 5 2) 'true 'false))
(print (if (< 5 2) 'true))
(print (if (not (< 5 2)) 'true))
(print (lambda (x y) (* x y)))
(print ((lambda (x y) (* x y)) 5 2))
(print (lambda (x y) (* x y) (+ x y)))
(print ((lambda (x y) (* x y) (+ x y)) 5 2))
(print (def mult (lambda (x y) (* x y))))
(print (mult 5 7))
(print (def dumb (lambda (x y) (if (> x y) (* x y) (/ x y)))))
(print (dumb 5.0 3.0))
(print (dumb 3.0 5.0))
(print (let ((x 5) (y 3)) (+ x y)))
(print (let ((x 5) (y 3) z) (+ x y)))
(print (def dumb (lambda (x) (let ((y 12)) (* x y)))))
(print (dumb 3))
(print `a)
(print `(a b ,fred))
(print `(a b ,@fred))
(print `(a (b (c (d (e (f ,@fred)))))))
(print ((macro (x) `(+ ,x 5)) 4))
(print (def incf (macro (x) `(setq ,x (+ ,x 1)))))
(print (setq whee 33))
(print (incf whee))
(print (def foo (lambda (x y) (if (<= y 0) x (begin (foo (cons y x) (- y 1)))))))
(print (foo '() 12))
(print (let ((x 5)) (def bar (lambda () x))))
(print (bar))
(print (env-set (get-environment bar) 'x 33))
(print (bar))
(print (setq wow (list (cons 'a 'b) (cons 'q 'fun))))
(print (assoc 'a wow))
(print (- 5 (* 2 4)))
(print (- (* 2 4) 5))
(print (/ 17 350))
(print (/ 350 17))